#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    printf("before fork,I am a process,pid:%d, ppid:%d\n",getpid(),getppid());
    pid_t id = fork();

    if(id < 0) return -1;//创建进程失败

    else if(id == 0)//当id等于0，说明是子进程
    {
        //子进程所要做的工作
    }
    else//大于0，说明是父进程
    {
        //父进程所要做的工作
    }
    return 0;
}

// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>

// int main()
// {
//     printf("before fork,I am a process,pid:%d, ppid:%d\n",getpid(),getppid());
//     pid_t id = fork();
//     printf("after fork,I am a process,pid:%d, ppid:%d, id:%d\n",getpid(),getppid(),id);
//     return 0;
// }

// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>

// int main()
// {
//     printf("before fork,I am a process,pid:%d, ppid:%d\n",getpid(),getppid());

//     fork();

//     printf("after fork,I am a process,pid:%d, ppid:%d\n",getpid(),getppid());

//     return 0;
// }

// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>

// int main()
// {
//     pid_t id = getpid();
//     pid_t fid = getppid();
//     while(1)
//     {
//         printf("I am a process! pid:%d, ppid:%d\n",id,fid);
//         sleep(1);
//     }
//     return 0;
// }


// #include <stdio.h>
// #include <sys/types.h>
// #include <unistd.h>

// int main()
// {
//     pid_t id = getpid();
//     while(1)
//     {
//         printf("I am a process! pid : %d\n",id);
//         sleep(1);
//     }
//     return 0;
// }

// #include <stdio.h>
// #include <unistd.h>

// int main()
// {
//     while(1)
//     {
//         printf("I am a process\n");
//         sleep(1);
//     }
//     return 0;
// }
